#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void left_turn(char* str, int len,int k)
{

	
	for (int j = 0; j < k; j++) 
	{
		char temp = *str;
		int i = 0;
		while (i < len - 1)
		{
			*(str + i) = *(str + i + 1);
			i++;
		}
		*(str + len - 1) = temp;
	}
}



void right_turn(char* str, int len, int k)
{


	for (int j = 0; j < k; j++)
	{
		char temp = *(str+len-1);
		int i = len-1;
		while (i >0)
		{
			*(str + i) = *(str + i-1 );
			i--;
		}
		*(str) = temp;
	}
}
int is_turn_same(const char* s1, char* s2, int len)
{
	int k = len;
	int flag = 0;

	for (int j = 1; j < len; j++)
	{
		for (int i = 0; i < len; i++)
		{
			if (*(s1 + i) == *(s2 + i))
			{
				flag = 1;
			}
			else
			{
				flag = 0;
				break;
			}
		}
		if (flag)
			return 1;
		else
			left_turn(s2,len,j);

	}


	for (int j = 1; j < len; j++)
	{
		for (int i = 0; i < len; i++)
		{
			if (*(s1 + i) == *(s2 + i))
			{
				flag = 1;
			}
			else
			{
				flag = 0;
				break;
			}
		}
		if (flag)
			return 1;
		else
			right_turn(s2, len, j);

	}


	return 0;


}
//
//
//int main()
//{
//	char str1[100] = { 0 };
//	char str2[100] = { 0 };
//	gets(str1);
//	gets(str2);
//	int len = strlen(str1);
//
//	//right_turn(str1, len, 1);
//	printf("%d",is_turn_same(str1,str2,len));
//	//printf("%s\n", str1);
//
//	return 0;
//}


void yanghui(int n)
{
	int arr[30][30] = { 1 };

	for (int i = 1; i < n; i++)
	{
		arr[i][0] = 1;

		for (int j = 1; j < n; j++)
		{
			arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];

		}


	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j <= i; j++)
		{ 

			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}




}


int main()
{
	
	yanghui(5);

	return 0;
}